package com.sunthy.mall.service.admin.order;

import com.sunthy.mall.model.admin.bo.client.order.AddOrderBo;
import com.sunthy.mall.model.admin.bo.client.order.AskGoodsMsgBo;
import com.sunthy.mall.model.admin.bo.client.order.CarListBo;
import com.sunthy.mall.model.admin.bo.client.order.SendCommentBo;
import com.sunthy.mall.model.admin.bo.order.OrderChangeBo;
import com.sunthy.mall.model.admin.bo.order.OrdersByPageBO;
import com.sunthy.mall.model.admin.vo.client.order.OrderCarBo;
import com.sunthy.mall.model.admin.vo.order.OrderByIdInfoVo;
import com.sunthy.mall.model.admin.vo.order.OrdersByPageVO;

import java.util.List;

/**
 * 业务逻辑处理(接口)
 */
public interface OrderService {
    OrdersByPageVO ordersByPage(OrdersByPageBO ordersByPageBO);

    OrderByIdInfoVo orderByIdInfo(int id);

    int orderChange(OrderChangeBo orderChangeBo);

    /**
     * 删除订单
     * @param id
     * @return int
     */
    int orderDeleteById(int id);

    /**
     * 添加order
     * @param addOrderBo
     * @return int
     */
    int addOrder(AddOrderBo addOrderBo);

    /**
     * 找到token的所有state的order
     * @param token
     * @param state
     * @return List<OrderCarBo>
     */
    List<OrderCarBo> getOrderByState(String token, Integer state);

    /**
     * 单支付
     * @param id
     * @return
     */
    int payOrderById(Integer id);

    /**
     * 结算购物车
     * @param carListBo
     * @return int
      */
    int settleAccountToCar(CarListBo carListBo);

    /**
     * 发送评论
     * @param sendCommentBo
     * @return int
     */
    int sendComment(SendCommentBo sendCommentBo);


}
